raft思考

https://www.zhihu.com/question/54997169

问题:

  1. 客户端怎么感知leader切换?
    最简单的方法非leader收到请求回复客户端自己不是leader

  2. raft成员变更
    raft里最麻烦的应该是成员变更,简单点就一个个加,实现起来有些麻烦,启动时还得从快照和日志里捞成员

  3. raft集群节点与允许故障个数:

  • 3个节点最多允许挂1个,因为投票节点需要至少2个
  • 4个节点最多允许挂1个,因为投票节点需要至少3个
  • 5个节点最多允许挂2个,因为投票节点需要至少3个